# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time      :2022/8/2 0002 1:03
# @Author    :jiaxuesong

#导包
import os
import xlrd

#定义用例数据读取的类
class ReadExcle(object):
    # 定义初始化方法，获取要读取的文件数据
    def __init__(self):
        #获取文件
        self.file_path = os.path.dirname(os.path.dirname(__file__)) + r'/testData/data.xls'
        # 打开文件
        self.read_excle = xlrd.open_workbook(self.file_path)
        # 获取指定的sheet页
        self.sheet = self.read_excle.sheet_by_index(0)
        # 获取最大行
        self.max_row = self.sheet.nrows

    # 定义对外调用读取问价数据方法
    def read(self, classname, methodname):
        # 获取第一个行数据作为KEY
        self.first_value = self.sheet.row_values(0)
        # 循环便利表中数据生成一个字典数据
        for i in range(1, self.max_row):
            #读取每一行数据作为value
            row_value = self.sheet.row_values(i)
            # 将数据组合生成一个字典
            data_dict = {self.first_value[j]:row_value[j] for j in range(len(self.first_value))}
            # 判断字典中的类名与方法名是否与用例一致，
            if data_dict['className'] == classname and data_dict['methodName'] == methodname:
                #是：返回测试用的数据
                return data_dict['testdata']
            i +=1

if __name__ == '__main__':
    re = ReadExcle()
    print(re.read('',''))